/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

分布式云物理服务器
分布式云物理服务器地域操作相关的接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>
#import <JDCloudOCSDKEdcps/EdcpsApiModel.h>


@implementation EdcpsDeleteAliasIpRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
aliasIpId:(NSString*)aliasIpId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.aliasIpId = aliasIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
aliasIpId:(NSString*)aliasIpId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.aliasIpId = aliasIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self aliasIpId])
    {
        [result setValue:[self aliasIpId] forKey:@"aliasIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.aliasIpId = [dictionary objectForKey:@"aliasIpId"];
    return self;
} 

@end
@implementation EdcpsDescribeAliasIpsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
subnetId:(NSString*)subnetId
instanceId:(NSString*)instanceId
cidr:(NSString*)cidr { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.subnetId = subnetId;
    self.instanceId = instanceId;
    self.cidr = cidr;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
subnetId:(NSString*)subnetId
instanceId:(NSString*)instanceId
cidr:(NSString*)cidr { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.subnetId = subnetId;
    self.instanceId = instanceId;
    self.cidr = cidr;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self cidr])
    {
        [result setValue:[self cidr] forKey:@"cidr"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.cidr = [dictionary objectForKey:@"cidr"];
    return self;
} 

@end
@implementation EdcpsDeleteAliasIpResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsModifySubnetRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation EdcpsDescribeSubnetRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation EdcpsDeleteSubnetResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsDeleteSubnetRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation EdcpsCreateSubnetResult
-(id) initWithSubnetId:(NSString*) subnetId { 
    self.subnetId = subnetId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation EdcpsDeleteelasticIpRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation EdcpsModifyElasticIpBandwidthRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
bandwidth:(NSNumber*)bandwidth
extraUplinkBandwidth:(NSNumber*)extraUplinkBandwidth
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.bandwidth = bandwidth;
    self.extraUplinkBandwidth = extraUplinkBandwidth;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
bandwidth:(NSNumber*)bandwidth
extraUplinkBandwidth:(NSNumber*)extraUplinkBandwidth
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.bandwidth = bandwidth;
    self.extraUplinkBandwidth = extraUplinkBandwidth;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self bandwidth])
    {
        [result setValue:[self bandwidth] forKey:@"bandwidth"];
    }
    if([self extraUplinkBandwidth])
    {
        [result setValue:[self extraUplinkBandwidth] forKey:@"extraUplinkBandwidth"];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.bandwidth = [dictionary objectForKey:@"bandwidth"];
    self.extraUplinkBandwidth = [dictionary objectForKey:@"extraUplinkBandwidth"];
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation EdcpsDescribeElasticIpStockResult
-(id) initWithRegion:(NSString*) region
        available:(NSNumber*)available
        availableBandwidth:(NSNumber*)availableBandwidth
        availableExtraUplinkBandwidth:(NSNumber*)availableExtraUplinkBandwidth { 
    self.region = region;               
    self.available = available;               
    self.availableBandwidth = availableBandwidth;               
    self.availableExtraUplinkBandwidth = availableExtraUplinkBandwidth;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self available])
    {
        [result setValue:[self available] forKey:@"available"];
    }
    if([self availableBandwidth])
    {
        [result setValue:[self availableBandwidth] forKey:@"availableBandwidth"];
    }
    if([self availableExtraUplinkBandwidth])
    {
        [result setValue:[self availableExtraUplinkBandwidth] forKey:@"availableExtraUplinkBandwidth"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.region = [dictionary objectForKey:@"region"];
    self.available = [dictionary objectForKey:@"available"];
    self.availableBandwidth = [dictionary objectForKey:@"availableBandwidth"];
    self.availableExtraUplinkBandwidth = [dictionary objectForKey:@"availableExtraUplinkBandwidth"];
    return self;
} 

@end
@implementation EdcpsModifyElasticIpBandwidthResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsDeleteelasticIpResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsApplyElasticIpsResult
-(id) initWithElasticIpIds:(NSArray<NSString*>*) elasticIpIds { 
    self.elasticIpIds = elasticIpIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIpIds])
    {
        [result setValue:[self elasticIpIds] forKey:@"elasticIpIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpIds = [dictionary objectForKey:@"elasticIpIds"];
    return self;
} 

@end
@implementation EdcpsDescribeElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation EdcpsCreateKeypairsResult
-(id) initWithKeypairId:(NSString*) keypairId
        region:(NSString*)region
        name:(NSString*)name
        publicKey:(NSString*)publicKey
        fingerPrint:(NSString*)fingerPrint
        createTime:(NSString*)createTime
        updateTime:(NSString*)updateTime
        privateKey:(NSString*)privateKey { 
    self.keypairId = keypairId;               
    self.region = region;               
    self.name = name;               
    self.publicKey = publicKey;               
    self.fingerPrint = fingerPrint;               
    self.createTime = createTime;               
    self.updateTime = updateTime;               
    self.privateKey = privateKey;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keypairId])
    {
        [result setValue:[self keypairId] forKey:@"keypairId"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self publicKey])
    {
        [result setValue:[self publicKey] forKey:@"publicKey"];
    }
    if([self fingerPrint])
    {
        [result setValue:[self fingerPrint] forKey:@"fingerPrint"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    if([self privateKey])
    {
        [result setValue:[self privateKey] forKey:@"privateKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keypairId = [dictionary objectForKey:@"keypairId"];
    self.region = [dictionary objectForKey:@"region"];
    self.name = [dictionary objectForKey:@"name"];
    self.publicKey = [dictionary objectForKey:@"publicKey"];
    self.fingerPrint = [dictionary objectForKey:@"fingerPrint"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    self.privateKey = [dictionary objectForKey:@"privateKey"];
    return self;
} 

@end
@implementation EdcpsDescribeKeypairRequest
-(id) initWithRegion:(NSString *)regionId
keypairId:(NSString*)keypairId { 
    self.regionId = regionId;
    self.keypairId = keypairId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keypairId:(NSString*)keypairId { 
    self.regionId = regionId;
    self.version = version;
    self.keypairId = keypairId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keypairId])
    {
        [result setValue:[self keypairId] forKey:@"keypairId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keypairId = [dictionary objectForKey:@"keypairId"];
    return self;
} 

@end
@implementation EdcpsImportKeypairsRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
name:(NSString*)name
publicKey:(NSString*)publicKey { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.name = name;
    self.publicKey = publicKey;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
name:(NSString*)name
publicKey:(NSString*)publicKey { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.name = name;
    self.publicKey = publicKey;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self publicKey])
    {
        [result setValue:[self publicKey] forKey:@"publicKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.name = [dictionary objectForKey:@"name"];
    self.publicKey = [dictionary objectForKey:@"publicKey"];
    return self;
} 

@end
@implementation EdcpsCreateKeypairsRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
name:(NSString*)name { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.name = name;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
name:(NSString*)name { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.name = name;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.name = [dictionary objectForKey:@"name"];
    return self;
} 

@end
@implementation EdcpsDeleteKeypairsResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsImportKeypairsResult
-(id) initWithKeypairId:(NSString*) keypairId
        region:(NSString*)region
        name:(NSString*)name
        publicKey:(NSString*)publicKey
        fingerPrint:(NSString*)fingerPrint
        createTime:(NSString*)createTime
        updateTime:(NSString*)updateTime { 
    self.keypairId = keypairId;               
    self.region = region;               
    self.name = name;               
    self.publicKey = publicKey;               
    self.fingerPrint = fingerPrint;               
    self.createTime = createTime;               
    self.updateTime = updateTime;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keypairId])
    {
        [result setValue:[self keypairId] forKey:@"keypairId"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self publicKey])
    {
        [result setValue:[self publicKey] forKey:@"publicKey"];
    }
    if([self fingerPrint])
    {
        [result setValue:[self fingerPrint] forKey:@"fingerPrint"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keypairId = [dictionary objectForKey:@"keypairId"];
    self.region = [dictionary objectForKey:@"region"];
    self.name = [dictionary objectForKey:@"name"];
    self.publicKey = [dictionary objectForKey:@"publicKey"];
    self.fingerPrint = [dictionary objectForKey:@"fingerPrint"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
} 

@end
@implementation EdcpsDeleteKeypairsRequest
-(id) initWithRegion:(NSString *)regionId
keypairId:(NSString*)keypairId { 
    self.regionId = regionId;
    self.keypairId = keypairId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keypairId:(NSString*)keypairId { 
    self.regionId = regionId;
    self.version = version;
    self.keypairId = keypairId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keypairId])
    {
        [result setValue:[self keypairId] forKey:@"keypairId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keypairId = [dictionary objectForKey:@"keypairId"];
    return self;
} 

@end
@implementation EdcpsDeleteSecondaryCidrRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
secondaryCidrId:(NSString*)secondaryCidrId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.secondaryCidrId = secondaryCidrId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
secondaryCidrId:(NSString*)secondaryCidrId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.secondaryCidrId = secondaryCidrId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self secondaryCidrId])
    {
        [result setValue:[self secondaryCidrId] forKey:@"secondaryCidrId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.secondaryCidrId = [dictionary objectForKey:@"secondaryCidrId"];
    return self;
} 

@end
@implementation EdcpsDeleteSecondaryCidrResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsCreateSecondaryCidrResult
-(id) initWithSecondaryCidrId:(NSString*) secondaryCidrId { 
    self.secondaryCidrId = secondaryCidrId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self secondaryCidrId])
    {
        [result setValue:[self secondaryCidrId] forKey:@"secondaryCidrId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.secondaryCidrId = [dictionary objectForKey:@"secondaryCidrId"];
    return self;
} 

@end
@implementation EdcpsDescribeSecondaryCidrsRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceStatusResult
-(id) initWithCpus:(NSNumber*) cpus
        mems:(NSNumber*)mems
        disks:(NSNumber*)disks
        nics:(NSNumber*)nics { 
    self.cpus = cpus;               
    self.mems = mems;               
    self.disks = disks;               
    self.nics = nics;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cpus])
    {
        [result setValue:[self cpus] forKey:@"cpus"];
    }
    if([self mems])
    {
        [result setValue:[self mems] forKey:@"mems"];
    }
    if([self disks])
    {
        [result setValue:[self disks] forKey:@"disks"];
    }
    if([self nics])
    {
        [result setValue:[self nics] forKey:@"nics"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cpus = [dictionary objectForKey:@"cpus"];
    self.mems = [dictionary objectForKey:@"mems"];
    self.disks = [dictionary objectForKey:@"disks"];
    self.nics = [dictionary objectForKey:@"nics"];
    return self;
} 

@end
@implementation EdcpsDescribeDeviceTypesRequest
-(id) initWithRegion:(NSString *)regionId
az:(NSString*)az { 
    self.regionId = regionId;
    self.az = az;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
az:(NSString*)az { 
    self.regionId = regionId;
    self.version = version;
    self.az = az;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.az = [dictionary objectForKey:@"az"];
    return self;
} 

@end
@implementation EdcpsResetPasswordResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsStopInstanceRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsStartInstanceResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsDescribeAvailablePrivateIpRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDisassociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceStatusRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceNameResult
-(id) initWithName:(NSString*) name { 
    self.name = name;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    return self;
} 

@end
@implementation EdcpsModifyInstanceRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceRaidRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeOSRequest
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType
osType:(NSString*)osType { 
    self.regionId = regionId;
    self.deviceType = deviceType;
    self.osType = osType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType
osType:(NSString*)osType { 
    self.regionId = regionId;
    self.version = version;
    self.deviceType = deviceType;
    self.osType = osType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self osType])
    {
        [result setValue:[self osType] forKey:@"osType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.osType = [dictionary objectForKey:@"osType"];
    return self;
} 

@end
@implementation EdcpsCreateInstancesResult
-(id) initWithInstanceIds:(NSArray<NSString*>*) instanceIds { 
    self.instanceIds = instanceIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceIds])
    {
        [result setValue:[self instanceIds] forKey:@"instanceIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceIds = [dictionary objectForKey:@"instanceIds"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceRaidResult
-(id) initWithSysRaidTypeId:(NSString*) sysRaidTypeId
        sysRaidType:(NSString*)sysRaidType
        dataRaidTypeId:(NSString*)dataRaidTypeId
        dataRaidType:(NSString*)dataRaidType { 
    self.sysRaidTypeId = sysRaidTypeId;               
    self.sysRaidType = sysRaidType;               
    self.dataRaidTypeId = dataRaidTypeId;               
    self.dataRaidType = dataRaidType;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self sysRaidTypeId])
    {
        [result setValue:[self sysRaidTypeId] forKey:@"sysRaidTypeId"];
    }
    if([self sysRaidType])
    {
        [result setValue:[self sysRaidType] forKey:@"sysRaidType"];
    }
    if([self dataRaidTypeId])
    {
        [result setValue:[self dataRaidTypeId] forKey:@"dataRaidTypeId"];
    }
    if([self dataRaidType])
    {
        [result setValue:[self dataRaidType] forKey:@"dataRaidType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sysRaidTypeId = [dictionary objectForKey:@"sysRaidTypeId"];
    self.sysRaidType = [dictionary objectForKey:@"sysRaidType"];
    self.dataRaidTypeId = [dictionary objectForKey:@"dataRaidTypeId"];
    self.dataRaidType = [dictionary objectForKey:@"dataRaidType"];
    return self;
} 

@end
@implementation EdcpsResetPasswordRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
password:(NSString*)password
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.password = password;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
password:(NSString*)password
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.password = password;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.password = [dictionary objectForKey:@"password"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsRestartInstanceResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsReinstallInstanceResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsRestartInstanceRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDeleteInstanceRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsAssociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
targetIp:(NSString*)targetIp
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    self.targetIp = targetIp;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
targetIp:(NSString*)targetIp
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.elasticIpId = elasticIpId;
    self.targetIp = targetIp;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self targetIp])
    {
        [result setValue:[self targetIp] forKey:@"targetIp"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.targetIp = [dictionary objectForKey:@"targetIp"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsStopInstanceResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsModifyInstanceResult
-(id) initWithName:(NSString*) name
        descriptionValue:(NSString*)descriptionValue { 
    self.name = name;               
    self.descriptionValue = descriptionValue;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation EdcpsDisassociateElasticIpResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsDescribeDeviceRaidsRequest
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType
volumeType:(NSString*)volumeType { 
    self.regionId = regionId;
    self.deviceType = deviceType;
    self.volumeType = volumeType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType
volumeType:(NSString*)volumeType { 
    self.regionId = regionId;
    self.version = version;
    self.deviceType = deviceType;
    self.volumeType = volumeType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self volumeType])
    {
        [result setValue:[self volumeType] forKey:@"volumeType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.volumeType = [dictionary objectForKey:@"volumeType"];
    return self;
} 

@end
@implementation EdcpsDescribeDeviceStockRequest
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType { 
    self.regionId = regionId;
    self.deviceType = deviceType;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType { 
    self.regionId = regionId;
    self.version = version;
    self.deviceType = deviceType;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    return self;
} 

@end
@implementation EdcpsDeleteInstanceResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsStartInstanceRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsDescribeInstanceNameRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation EdcpsAssociateElasticIpResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsCreateVpcResult
-(id) initWithVpcId:(NSString*) vpcId { 
    self.vpcId = vpcId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation EdcpsDeleteVpcResult
-(id) initWithSuccess:(NSNumber*) success { 
    self.success = success;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self success])
    {
        [result setValue:[self success] forKey:@"success"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.success = [dictionary objectForKey:@"success"];
    return self;
} 

@end
@implementation EdcpsDeleteVpcRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation EdcpsModifyVpcRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation EdcpsDescribeVpcRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation EdcpsDescribeAliasIpsResult
-(id) initWithAliasIps:(NSArray<AliasIp*>*) aliasIps
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.aliasIps = aliasIps;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self aliasIps])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self aliasIps] count]; i++) {
            AliasIp* item = [[self aliasIps] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"aliasIps"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* aliasIpsArray = [dictionary objectForKey:@"aliasIps"];
    if(aliasIpsArray&&![aliasIpsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [aliasIpsArray count];i++)
        {
        AliasIp* item = [[AliasIp alloc]initWithDic:[aliasIpsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.aliasIps = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation EdcpsCreateAliasIpRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
aliasIpSpec:(AliasIpSpec*)aliasIpSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.aliasIpSpec = aliasIpSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
aliasIpSpec:(AliasIpSpec*)aliasIpSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.aliasIpSpec = aliasIpSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self aliasIpSpec])
    {
        [result setValue:[[self aliasIpSpec] dictionary]forKey:@"aliasIpSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.aliasIpSpec = [[AliasIpSpec alloc]initWithDic:[dictionary objectForKey:@"aliasIpSpec"]];
    return self;
} 

@end
@implementation EdcpsCreateAliasIpResult
-(id) initWithSuccessList:(NSArray<AliasIpSuccessInfo*>*) successList
        errorList:(NSArray<AliasIpErrorInfo*>*)errorList { 
    self.successList = successList;               
    self.errorList = errorList;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self successList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self successList] count]; i++) {
            AliasIpSuccessInfo* item = [[self successList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"successList"];
    }
    if([self errorList])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self errorList] count]; i++) {
            AliasIpErrorInfo* item = [[self errorList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"errorList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* successListArray = [dictionary objectForKey:@"successList"];
    if(successListArray&&![successListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [successListArray count];i++)
        {
        AliasIpSuccessInfo* item = [[AliasIpSuccessInfo alloc]initWithDic:[successListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.successList = propertyArray;
    }
    NSArray* errorListArray = [dictionary objectForKey:@"errorList"];
    if(errorListArray&&![errorListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [errorListArray count];i++)
        {
        AliasIpErrorInfo* item = [[AliasIpErrorInfo alloc]initWithDic:[errorListArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.errorList = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsCreateAliasIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateAliasIpResult* result = [[EdcpsCreateAliasIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateAliasIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeAliasIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeAliasIpsResult* result = [[EdcpsDescribeAliasIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeAliasIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteAliasIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteAliasIpResult* result = [[EdcpsDeleteAliasIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteAliasIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsCreateSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateSubnetResult* result = [[EdcpsCreateSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeSubnetResult
-(id) initWithSubnet:(Subnet*) subnet { 
    self.subnet = subnet;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnet])
    {
        [result setValue:[[self subnet] dictionary]forKey:@"subnet"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnet = [[Subnet alloc]initWithDic:[dictionary objectForKey:@"subnet"]];
    return self;
} 

@end
@implementation EdcpsModifySubnetResult
-(id) initWithSubnet:(Subnet*) subnet { 
    self.subnet = subnet;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnet])
    {
        [result setValue:[[self subnet] dictionary]forKey:@"subnet"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnet = [[Subnet alloc]initWithDic:[dictionary objectForKey:@"subnet"]];
    return self;
} 

@end
@implementation EdcpsCreateSubnetRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
subnetSpec:(SubnetSpec*)subnetSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.subnetSpec = subnetSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
subnetSpec:(SubnetSpec*)subnetSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.subnetSpec = subnetSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self subnetSpec])
    {
        [result setValue:[[self subnetSpec] dictionary]forKey:@"subnetSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.subnetSpec = [[SubnetSpec alloc]initWithDic:[dictionary objectForKey:@"subnetSpec"]];
    return self;
} 

@end
  
@implementation EdcpsModifySubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsModifySubnetResult* result = [[EdcpsModifySubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsModifySubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteSubnetResult* result = [[EdcpsDeleteSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeSubnetResult* result = [[EdcpsDescribeSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeSubnetsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
vpcId:(NSString*)vpcId
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.az = az;
    self.name = name;
    self.vpcId = vpcId;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
vpcId:(NSString*)vpcId
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.az = az;
    self.name = name;
    self.vpcId = vpcId;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.az = [dictionary objectForKey:@"az"];
    self.name = [dictionary objectForKey:@"name"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation EdcpsDescribeSubnetsResult
-(id) initWithSubnets:(NSArray<Subnet*>*) subnets
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.subnets = subnets;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnets])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self subnets] count]; i++) {
            Subnet* item = [[self subnets] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"subnets"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* subnetsArray = [dictionary objectForKey:@"subnets"];
    if(subnetsArray&&![subnetsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [subnetsArray count];i++)
        {
        Subnet* item = [[Subnet alloc]initWithDic:[subnetsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.subnets = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation EdcpsDescribeSubnetsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeSubnetsResult* result = [[EdcpsDescribeSubnetsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeSubnetsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeElasticIpStockResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeElasticIpStockResult* result = [[EdcpsDescribeElasticIpStockResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeElasticIpStockResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteelasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteelasticIpResult* result = [[EdcpsDeleteelasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteelasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeElasticIpsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.status = status;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.status = [dictionary objectForKey:@"status"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation EdcpsApplyElasticIpsRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.elasticIpSpec = elasticIpSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.elasticIpSpec = elasticIpSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self elasticIpSpec])
    {
        [result setValue:[[self elasticIpSpec] dictionary]forKey:@"elasticIpSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.elasticIpSpec = [[ElasticIpSpec alloc]initWithDic:[dictionary objectForKey:@"elasticIpSpec"]];
    return self;
} 

@end
@implementation EdcpsDescribeElasticIpResult
-(id) initWithElasticIp:(ElasticIp*) elasticIp { 
    self.elasticIp = elasticIp;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIp])
    {
        [result setValue:[[self elasticIp] dictionary]forKey:@"elasticIp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIp = [[ElasticIp alloc]initWithDic:[dictionary objectForKey:@"elasticIp"]];
    return self;
} 

@end
@implementation EdcpsDescribeElasticIpsResult
-(id) initWithElasticIps:(NSArray<ElasticIp*>*) elasticIps
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.elasticIps = elasticIps;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIps])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self elasticIps] count]; i++) {
            ElasticIp* item = [[self elasticIps] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"elasticIps"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* elasticIpsArray = [dictionary objectForKey:@"elasticIps"];
    if(elasticIpsArray&&![elasticIpsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [elasticIpsArray count];i++)
        {
        ElasticIp* item = [[ElasticIp alloc]initWithDic:[elasticIpsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.elasticIps = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation EdcpsModifyElasticIpBandwidthResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsModifyElasticIpBandwidthResult* result = [[EdcpsModifyElasticIpBandwidthResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsModifyElasticIpBandwidthResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeElasticIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeElasticIpsResult* result = [[EdcpsDescribeElasticIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeElasticIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeElasticIpStockRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation EdcpsDescribeElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeElasticIpResult* result = [[EdcpsDescribeElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsApplyElasticIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsApplyElasticIpsResult* result = [[EdcpsApplyElasticIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsApplyElasticIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeLineTypesResult
-(id) initWithLineTypes:(NSArray<LineType*>*) lineTypes { 
    self.lineTypes = lineTypes;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self lineTypes])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self lineTypes] count]; i++) {
            LineType* item = [[self lineTypes] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"lineTypes"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* lineTypesArray = [dictionary objectForKey:@"lineTypes"];
    if(lineTypesArray&&![lineTypesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [lineTypesArray count];i++)
        {
        LineType* item = [[LineType alloc]initWithDic:[lineTypesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.lineTypes = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeLineTypesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeLineTypesResult* result = [[EdcpsDescribeLineTypesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeLineTypesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeLineTypesRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation EdcpsCreateKeypairsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateKeypairsResult* result = [[EdcpsCreateKeypairsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateKeypairsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeKeypairResult
-(id) initWithServer:(Keypair*) server { 
    self.server = server;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self server])
    {
        [result setValue:[[self server] dictionary]forKey:@"server"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.server = [[Keypair alloc]initWithDic:[dictionary objectForKey:@"server"]];
    return self;
} 

@end
  
@implementation EdcpsDescribeKeypairResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeKeypairResult* result = [[EdcpsDescribeKeypairResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeKeypairResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeKeypairsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.name = name;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.name = name;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.name = [dictionary objectForKey:@"name"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation EdcpsDescribeKeypairsResult
-(id) initWithServers:(NSArray<Keypair*>*) servers
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.servers = servers;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self servers])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self servers] count]; i++) {
            Keypair* item = [[self servers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"servers"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* serversArray = [dictionary objectForKey:@"servers"];
    if(serversArray&&![serversArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [serversArray count];i++)
        {
        Keypair* item = [[Keypair alloc]initWithDic:[serversArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.servers = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation EdcpsDescribeKeypairsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeKeypairsResult* result = [[EdcpsDescribeKeypairsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeKeypairsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteKeypairsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteKeypairsResult* result = [[EdcpsDeleteKeypairsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteKeypairsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsImportKeypairsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsImportKeypairsResult* result = [[EdcpsImportKeypairsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsImportKeypairsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeSecondaryCidrsResult
-(id) initWithSecondaryCidrs:(NSArray<SecondaryCidr*>*) secondaryCidrs { 
    self.secondaryCidrs = secondaryCidrs;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self secondaryCidrs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self secondaryCidrs] count]; i++) {
            SecondaryCidr* item = [[self secondaryCidrs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"secondaryCidrs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* secondaryCidrsArray = [dictionary objectForKey:@"secondaryCidrs"];
    if(secondaryCidrsArray&&![secondaryCidrsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [secondaryCidrsArray count];i++)
        {
        SecondaryCidr* item = [[SecondaryCidr alloc]initWithDic:[secondaryCidrsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.secondaryCidrs = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDeleteSecondaryCidrResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteSecondaryCidrResult* result = [[EdcpsDeleteSecondaryCidrResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteSecondaryCidrResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsCreateSecondaryCidrResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateSecondaryCidrResult* result = [[EdcpsCreateSecondaryCidrResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateSecondaryCidrResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsCreateSecondaryCidrRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
secondaryCidrSpec:(SecondaryCidrSpec*)secondaryCidrSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.secondaryCidrSpec = secondaryCidrSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
secondaryCidrSpec:(SecondaryCidrSpec*)secondaryCidrSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.secondaryCidrSpec = secondaryCidrSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self secondaryCidrSpec])
    {
        [result setValue:[[self secondaryCidrSpec] dictionary]forKey:@"secondaryCidrSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.secondaryCidrSpec = [[SecondaryCidrSpec alloc]initWithDic:[dictionary objectForKey:@"secondaryCidrSpec"]];
    return self;
} 

@end
  
@implementation EdcpsDescribeSecondaryCidrsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeSecondaryCidrsResult* result = [[EdcpsDescribeSecondaryCidrsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeSecondaryCidrsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeOSResult
-(id) initWithOss:(NSArray<Os*>*) oss { 
    self.oss = oss;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self oss])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self oss] count]; i++) {
            Os* item = [[self oss] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"oss"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ossArray = [dictionary objectForKey:@"oss"];
    if(ossArray&&![ossArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ossArray count];i++)
        {
        Os* item = [[Os alloc]initWithDic:[ossArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.oss = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeOSResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeOSResult* result = [[EdcpsDescribeOSResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeOSResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeInstancesResult
-(id) initWithInstances:(NSArray<Instance*>*) instances
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.instances = instances;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instances])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instances] count]; i++) {
            Instance* item = [[self instances] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instances"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instancesArray = [dictionary objectForKey:@"instances"];
    if(instancesArray&&![instancesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instancesArray count];i++)
        {
        Instance* item = [[Instance alloc]initWithDic:[instancesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instances = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation EdcpsDescribeDeviceTypesResult
-(id) initWithDeviceTypes:(NSArray<DeviceType*>*) deviceTypes { 
    self.deviceTypes = deviceTypes;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deviceTypes])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self deviceTypes] count]; i++) {
            DeviceType* item = [[self deviceTypes] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"deviceTypes"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* deviceTypesArray = [dictionary objectForKey:@"deviceTypes"];
    if(deviceTypesArray&&![deviceTypesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [deviceTypesArray count];i++)
        {
        DeviceType* item = [[DeviceType alloc]initWithDic:[deviceTypesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.deviceTypes = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeDeviceTypesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeDeviceTypesResult* result = [[EdcpsDescribeDeviceTypesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeDeviceTypesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeInstanceResult
-(id) initWithInstance:(Instance*) instance { 
    self.instance = instance;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instance])
    {
        [result setValue:[[self instance] dictionary]forKey:@"instance"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instance = [[Instance alloc]initWithDic:[dictionary objectForKey:@"instance"]];
    return self;
} 

@end
@implementation EdcpsReinstallInstanceRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceSpec:(ReinstallInstanceSpec*)instanceSpec
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceSpec = instanceSpec;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceSpec:(ReinstallInstanceSpec*)instanceSpec
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceSpec = instanceSpec;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceSpec])
    {
        [result setValue:[[self instanceSpec] dictionary]forKey:@"instanceSpec"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceSpec = [[ReinstallInstanceSpec alloc]initWithDic:[dictionary objectForKey:@"instanceSpec"]];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
  
@implementation EdcpsStopInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsStopInstanceResult* result = [[EdcpsStopInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsStopInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsCreateInstancesRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceSpec:(InstanceSpec*)instanceSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.instanceSpec = instanceSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceSpec:(InstanceSpec*)instanceSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.instanceSpec = instanceSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self instanceSpec])
    {
        [result setValue:[[self instanceSpec] dictionary]forKey:@"instanceSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.instanceSpec = [[InstanceSpec alloc]initWithDic:[dictionary objectForKey:@"instanceSpec"]];
    return self;
} 

@end
@implementation EdcpsDescribeDeviceRaidsResult
-(id) initWithRaids:(NSArray<Raid*>*) raids { 
    self.raids = raids;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self raids])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self raids] count]; i++) {
            Raid* item = [[self raids] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"raids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* raidsArray = [dictionary objectForKey:@"raids"];
    if(raidsArray&&![raidsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [raidsArray count];i++)
        {
        Raid* item = [[Raid alloc]initWithDic:[raidsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.raids = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeDeviceRaidsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeDeviceRaidsResult* result = [[EdcpsDescribeDeviceRaidsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeDeviceRaidsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeDeviceStockResult
-(id) initWithDevicesStock:(NSArray<ResourceStock*>*) devicesStock { 
    self.devicesStock = devicesStock;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self devicesStock])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self devicesStock] count]; i++) {
            ResourceStock* item = [[self devicesStock] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"devicesStock"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* devicesStockArray = [dictionary objectForKey:@"devicesStock"];
    if(devicesStockArray&&![devicesStockArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [devicesStockArray count];i++)
        {
        ResourceStock* item = [[ResourceStock alloc]initWithDic:[devicesStockArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.devicesStock = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeDeviceStockResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeDeviceStockResult* result = [[EdcpsDescribeDeviceStockResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeDeviceStockResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDisassociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDisassociateElasticIpResult* result = [[EdcpsDisassociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDisassociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeInstancesRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
networkType:(NSString*)networkType
deviceType:(NSString*)deviceType
subnetId:(NSString*)subnetId
enableInternet:(NSString*)enableInternet
keypairId:(NSString*)keypairId
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.az = az;
    self.name = name;
    self.networkType = networkType;
    self.deviceType = deviceType;
    self.subnetId = subnetId;
    self.enableInternet = enableInternet;
    self.keypairId = keypairId;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
networkType:(NSString*)networkType
deviceType:(NSString*)deviceType
subnetId:(NSString*)subnetId
enableInternet:(NSString*)enableInternet
keypairId:(NSString*)keypairId
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.az = az;
    self.name = name;
    self.networkType = networkType;
    self.deviceType = deviceType;
    self.subnetId = subnetId;
    self.enableInternet = enableInternet;
    self.keypairId = keypairId;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self networkType])
    {
        [result setValue:[self networkType] forKey:@"networkType"];
    }
    if([self deviceType])
    {
        [result setValue:[self deviceType] forKey:@"deviceType"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self enableInternet])
    {
        [result setValue:[self enableInternet] forKey:@"enableInternet"];
    }
    if([self keypairId])
    {
        [result setValue:[self keypairId] forKey:@"keypairId"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.az = [dictionary objectForKey:@"az"];
    self.name = [dictionary objectForKey:@"name"];
    self.networkType = [dictionary objectForKey:@"networkType"];
    self.deviceType = [dictionary objectForKey:@"deviceType"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.enableInternet = [dictionary objectForKey:@"enableInternet"];
    self.keypairId = [dictionary objectForKey:@"keypairId"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsRestartInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsRestartInstanceResult* result = [[EdcpsRestartInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsRestartInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeInstanceStatusResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeInstanceStatusResult* result = [[EdcpsDescribeInstanceStatusResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeInstanceStatusResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeInstanceNameResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeInstanceNameResult* result = [[EdcpsDescribeInstanceNameResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeInstanceNameResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsAssociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsAssociateElasticIpResult* result = [[EdcpsAssociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsAssociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsReinstallInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsReinstallInstanceResult* result = [[EdcpsReinstallInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsReinstallInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeAvailablePrivateIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation EdcpsDescribeInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeInstanceResult* result = [[EdcpsDescribeInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsCreateInstancesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateInstancesResult* result = [[EdcpsCreateInstancesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateInstancesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteInstanceResult* result = [[EdcpsDeleteInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsModifyInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsModifyInstanceResult* result = [[EdcpsModifyInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsModifyInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeInstanceRaidResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeInstanceRaidResult* result = [[EdcpsDescribeInstanceRaidResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeInstanceRaidResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsResetPasswordResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsResetPasswordResult* result = [[EdcpsResetPasswordResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsResetPasswordResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeInstancesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeInstancesResult* result = [[EdcpsDescribeInstancesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeInstancesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsStartInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsStartInstanceResult* result = [[EdcpsStartInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsStartInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeAvailablePrivateIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeAvailablePrivateIpResult* result = [[EdcpsDescribeAvailablePrivateIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeAvailablePrivateIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeVpcsResult
-(id) initWithVpcs:(NSArray<Vpc*>*) vpcs
        pageNumber:(NSNumber*)pageNumber
        pageSize:(NSNumber*)pageSize
        totalCount:(NSNumber*)totalCount { 
    self.vpcs = vpcs;               
    self.pageNumber = pageNumber;               
    self.pageSize = pageSize;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self vpcs] count]; i++) {
            Vpc* item = [[self vpcs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vpcs"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vpcsArray = [dictionary objectForKey:@"vpcs"];
    if(vpcsArray&&![vpcsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vpcsArray count];i++)
        {
        Vpc* item = [[Vpc alloc]initWithDic:[vpcsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.vpcs = propertyArray;
    }
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation EdcpsDescribeVpcsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeVpcsResult* result = [[EdcpsDescribeVpcsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeVpcsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsModifyVpcResult
-(id) initWithVpc:(Vpc*) vpc { 
    self.vpc = vpc;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpc])
    {
        [result setValue:[[self vpc] dictionary]forKey:@"vpc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpc = [[Vpc alloc]initWithDic:[dictionary objectForKey:@"vpc"]];
    return self;
} 

@end
  
@implementation EdcpsModifyVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsModifyVpcResult* result = [[EdcpsModifyVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsModifyVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeVpcResult
-(id) initWithVpc:(Vpc*) vpc { 
    self.vpc = vpc;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpc])
    {
        [result setValue:[[self vpc] dictionary]forKey:@"vpc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpc = [[Vpc alloc]initWithDic:[dictionary objectForKey:@"vpc"]];
    return self;
} 

@end
@implementation EdcpsDescribeVpcsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.name = name;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.name = name;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.name = [dictionary objectForKey:@"name"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation EdcpsCreateVpcRequest
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
vpcSpec:(VpcSpec*)vpcSpec { 
    self.regionId = regionId;
    self.clientToken = clientToken;
    self.vpcSpec = vpcSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
vpcSpec:(VpcSpec*)vpcSpec { 
    self.regionId = regionId;
    self.version = version;
    self.clientToken = clientToken;
    self.vpcSpec = vpcSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    if([self vpcSpec])
    {
        [result setValue:[[self vpcSpec] dictionary]forKey:@"vpcSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    self.vpcSpec = [[VpcSpec alloc]initWithDic:[dictionary objectForKey:@"vpcSpec"]];
    return self;
} 

@end
  
@implementation EdcpsCreateVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsCreateVpcResult* result = [[EdcpsCreateVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsCreateVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDeleteVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDeleteVpcResult* result = [[EdcpsDeleteVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDeleteVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation EdcpsDescribeVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeVpcResult* result = [[EdcpsDescribeVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeEdCPSRegionsResult
-(id) initWithRegions:(NSArray<Region*>*) regions { 
    self.regions = regions;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self regions])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self regions] count]; i++) {
            Region* item = [[self regions] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"regions"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* regionsArray = [dictionary objectForKey:@"regions"];
    if(regionsArray&&![regionsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [regionsArray count];i++)
        {
        Region* item = [[Region alloc]initWithDic:[regionsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.regions = propertyArray;
    }
    return self;
} 

@end
  
@implementation EdcpsDescribeEdCPSRegionsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
EdcpsDescribeEdCPSRegionsResult* result = [[EdcpsDescribeEdCPSRegionsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(EdcpsDescribeEdCPSRegionsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation EdcpsDescribeEdCPSRegionsRequest
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
 
